package collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;

/**
 * 集合之间的操作
 */
public class CollectionDemo3 {
    public static void main(String[] args) {
        Collection c1 = new ArrayList();
        c1.add("java");
        c1.add("c++");
        c1.add(".net");
        System.out.println("c1:"+c1);

        Collection c2 = new HashSet();
        c2.add("android");
        c2.add("ios");
        c2.add("java");//c1中存在的元素
        System.out.println("c2:"+c2);

        /*
            boolean addAll(Collection c)
            取并集:将给定集合中的所有元素添加到当前集合中
         */
//        c1.addAll(c2);
        c2.addAll(c1);//c1中的java无法存入c2中
        System.out.println("c1:"+c1);
        System.out.println("c2:"+c2);

        Collection c3 = new ArrayList();
        c3.add("java");
        c3.add("c++");
        c3.add("php");
        System.out.println("c3:"+c3);
        /*
            retainAll(Collection c)
            取交集:将当前集合与给定集合的交集保存到当前集合中
         */
        c1.retainAll(c3);
        System.out.println("c1:"+c1);
        System.out.println("c3:"+c3);
        /*
            removeAll(Collection c)
            取差集:将当前集合与给定集合的差集保存到当前集合中
         */
        c2.removeAll(c3);//删除了c2中与c3的共有元素
        System.out.println("c2:"+c2);
        System.out.println("c3:"+c3);

        Collection c4 = new ArrayList();
        c4.add("android");
        c4.add("ios");
//        c4.add("java");
        System.out.println("c4:"+c4);
        /*
            boolean containsAll(Collection c)
            判断当前集合是否包含给定集合中的所有元素
         */
        boolean containsAll = c2.containsAll(c4);
        System.out.println("c2是否包含c4:"+containsAll);

    }
}


